<?php
//生成指定长度随机数
function apirand($len=32){
	$pattern = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLOMNOPQRSTUVWXYZ1234567890';
	$string = '';
	for($i=0;$i<$len;$i++)
	{
		$string .= $pattern{mt_rand(0,strlen($pattern)-1)};    //生成指定长度的随机数
	}
	return $string;
}

//功能：APP接收数据安全验证
//验证失败 直接返回APP客户端
//验证成功 返回整合头信息的数组
function apijieshou(){
	// if(!request()->isPost()){
	// 	apifasong(['zt'=>'-2','msg'=>'非法请求']);
	// }
	$data=request()->param();
	//过滤字段
	if($data){
		$data=guolv($data);
	}
	//头信息整合到post数据数组
	$header = request()->header();
	$data['header']=$header;
	//返回处理结果
	return $data;
}
//功能：API发送数据安全验证
//$data 数据数组
function apifasong($data){
	//！tracek必须关闭
	if(config('app_trace')){
		config('app_trace',false);
	}
	if(!$data){
		$data['zt']='-1';
		$data['msg']='没有数据';
		die(json_encode($data));
	}elseif(!is_array($data)){
		$data=array();
		$data['zt']='-1';
		$data['msg']='数据异常';
		die(json_encode($data));
	}
	//发出json数据
	die(json_encode($data));
}

//功能：应用请求的通用合法性验证
//$appdata 接收来的数据数组，来自apijieshou
function ishefa($appdata){
	if(!isset($appdata['key'])){
        apifasong(['zt'=>'0','msg'=>'key不能为空']);
    }
    $app = db('app')->where('key',$appdata['key'])->find();
    if(!$app){
        apifasong(['zt'=>'0','msg'=>'应用未注册']);
    }
    if($app['url']<>$appdata['header']['host']){
        apifasong(['zt'=>'0','msg'=>'安全域名不正确']);
    }
    if($app['zt']<>1){
        if($app['zt']==0){
            apifasong(['zt'=>'0','msg'=>'应用审核中']);
        }elseif($app['zt']==2){
            apifasong(['zt'=>'0','msg'=>'应用授权已到期']);
        }
    }
}